float saw_table[1025] = {
	0.000000,  0.008187,  0.016378,  0.024569,  0.032759,  0.040950,  
	0.049141,  0.057331,  0.065522,  0.073712,  0.081903,  0.090094,  
	0.098284,  0.106475,  0.114666,  0.122856,  0.131047,  0.139237,  
	0.147428,  0.155619,  0.163809,  0.172000,  0.180191,  0.188381,  
	0.196572,  0.204762,  0.212953,  0.221144,  0.229334,  0.237525,  
	0.245716,  0.253906,  0.262097,  0.270287,  0.278478,  0.286668,  
	0.294859,  0.303049,  0.311240,  0.319430,  0.327621,  0.335811,  
	0.344002,  0.352193,  0.360383,  0.368574,  0.376764,  0.384955,  
	0.393145,  0.401336,  0.409526,  0.417717,  0.425907,  0.434098,  
	0.442288,  0.450479,  0.458669,  0.466860,  0.475050,  0.483241,  
	0.491431,  0.499622,  0.507812,  0.516003,  0.524194,  0.532384,  
	0.540575,  0.548765,  0.556956,  0.565146,  0.573337,  0.581527,  
	0.589718,  0.597908,  0.606099,  0.614289,  0.622480,  0.630670,  
	0.638861,  0.647052,  0.655242,  0.663433,  0.671623,  0.679814,  
	0.688004,  0.696195,  0.704385,  0.712576,  0.720766,  0.728957,  
	0.737147,  0.745338,  0.753528,  0.761719,  0.769909,  0.778100,  
	0.786290,  0.794313,  0.802167,  0.809854,  0.817372,  0.824723,  
	0.831905,  0.838920,  0.845766,  0.852445,  0.858955,  0.865297,  
	0.871472,  0.877478,  0.883317,  0.888987,  0.894489,  0.899823,  
	0.904990,  0.909988,  0.914818,  0.919481,  0.923975,  0.928301,  
	0.932460,  0.936450,  0.940272,  0.943926,  0.947412,  0.950731,  
	0.953881,  0.956863,  0.959677,  0.962323,  0.964801,  0.967112,  
	0.969254,  0.971228,  0.973034,  0.974672,  0.976142,  0.977444,  
	0.978578,  0.979544,  0.980342,  0.980972,  0.981434,  0.981728,  
	0.981854,  0.981812,  0.981602,  0.981224,  0.980678,  0.979964,  
	0.979082,  0.978032,  0.976814,  0.975428,  0.973874,  0.972152,  
	0.970262,  0.968203,  0.965977,  0.963583,  0.961021,  0.958291,  
	0.955560,  0.952830,  0.950100,  0.947370,  0.944640,  0.941909,  
	0.939179,  0.936449,  0.933719,  0.930989,  0.928258,  0.925528,  
	0.922798,  0.920068,  0.917338,  0.914608,  0.911877,  0.909147,  
	0.906417,  0.903687,  0.900957,  0.898226,  0.895496,  0.892766,  
	0.890036,  0.887306,  0.884575,  0.881845,  0.879115,  0.876385,  
	0.873655,  0.870924,  0.868194,  0.865464,  0.862734,  0.860004,  
	0.857273,  0.854543,  0.851813,  0.849083,  0.846353,  0.843622,  
	0.840892,  0.838162,  0.835432,  0.832702,  0.829971,  0.827241,  
	0.824511,  0.821781,  0.819051,  0.816320,  0.813590,  0.810860,  
	0.808130,  0.805400,  0.802670,  0.799939,  0.797209,  0.794479,  
	0.791749,  0.789019,  0.786288,  0.783558,  0.780828,  0.778098,  
	0.775367,  0.772637,  0.769907,  0.767177,  0.764447,  0.761717,  
	0.758986,  0.756256,  0.753526,  0.750796,  0.748066,  0.745335,  
	0.742605,  0.739875,  0.737145,  0.734415,  0.731684,  0.728954,  
	0.726224,  0.723494,  0.720764,  0.718033,  0.715303,  0.712573,  
	0.709843,  0.707113,  0.704382,  0.701652,  0.698922,  0.696192,  
	0.693462,  0.690732,  0.688001,  0.685271,  0.682541,  0.679811,  
	0.677081,  0.674350,  0.671620,  0.668890,  0.666160,  0.663429,  
	0.660699,  0.657969,  0.655239,  0.652509,  0.649779,  0.647048,  
	0.644318,  0.641588,  0.638858,  0.636128,  0.633397,  0.630667,  
	0.627937,  0.625207,  0.622477,  0.619746,  0.617016,  0.614286,  
	0.611556,  0.608826,  0.606095,  0.603365,  0.600635,  0.597905,  
	0.595175,  0.592444,  0.589714,  0.586984,  0.584254,  0.581524,  
	0.578794,  0.576063,  0.573333,  0.570603,  0.567873,  0.565143,  
	0.562412,  0.559682,  0.556952,  0.554222,  0.551492,  0.548761,  
	0.546031,  0.543301,  0.540571,  0.537841,  0.535111,  0.532380,  
	0.529650,  0.526920,  0.524190,  0.521460,  0.518729,  0.515999,  
	0.513269,  0.510539,  0.507809,  0.505079,  0.502348,  0.499618,  
	0.496888,  0.494158,  0.491428,  0.488698,  0.485967,  0.483237,  
	0.480507,  0.477777,  0.475047,  0.472316,  0.469586,  0.466856,  
	0.464126,  0.461396,  0.458666,  0.455935,  0.453205,  0.450475,  
	0.447745,  0.445015,  0.442285,  0.439555,  0.436824,  0.434094,  
	0.431364,  0.428634,  0.425904,  0.423173,  0.420443,  0.417713,  
	0.414983,  0.412253,  0.409523,  0.406792,  0.404062,  0.401332,  
	0.398602,  0.395872,  0.393142,  0.390411,  0.387681,  0.384951,  
	0.382221,  0.379491,  0.376761,  0.374031,  0.371300,  0.368570,  
	0.365840,  0.363110,  0.360380,  0.357650,  0.354919,  0.352189,  
	0.349459,  0.346729,  0.343999,  0.341269,  0.338538,  0.335808,  
	0.333078,  0.330348,  0.327618,  0.324888,  0.322157,  0.319427,  
	0.316697,  0.313967,  0.311237,  0.308507,  0.305776,  0.303046,  
	0.300316,  0.297586,  0.294856,  0.292126,  0.289395,  0.286665,  
	0.283935,  0.281205,  0.278475,  0.275745,  0.273014,  0.270284,  
	0.267554,  0.264824,  0.262094,  0.259363,  0.256633,  0.253903,  
	0.251173,  0.248443,  0.245713,  0.242982,  0.240252,  0.237522,  
	0.234792,  0.232062,  0.229332,  0.226601,  0.223871,  0.221141,  
	0.218411,  0.215681,  0.212951,  0.210220,  0.207490,  0.204760,  
	0.202030,  0.199300,  0.196570,  0.193839,  0.191109,  0.188379,  
	0.185649,  0.182919,  0.180188,  0.177458,  0.174728,  0.171998,  
	0.169268,  0.166538,  0.163807,  0.161077,  0.158347,  0.155617,  
	0.152887,  0.150156,  0.147426,  0.144696,  0.141966,  0.139236,  
	0.136506,  0.133775,  0.131045,  0.128315,  0.125585,  0.122855,  
	0.120125,  0.117394,  0.114664,  0.111934,  0.109204,  0.106474,  
	0.103743,  0.101013,  0.098283,  0.095553,  0.092823,  0.090093,  
	0.087362,  0.084632,  0.081902,  0.079172,  0.076442,  0.073711,  
	0.070981,  0.068251,  0.065521,  0.062791,  0.060061,  0.057330,  
	0.054600,  0.051870,  0.049140,  0.046410,  0.043680,  0.040949,  
	0.038219,  0.035489,  0.032759,  0.030029,  0.027299,  0.024568,  
	0.021838,  0.019108,  0.016378,  0.013648,  0.010918,  0.008187,  
	0.005457,  0.002727,  -0.000003, -0.002733, -0.005464, -0.008194, 
	-0.010924, -0.013654, -0.016384, -0.019114, -0.021845, -0.024575, 
	-0.027305, -0.030035, -0.032765, -0.035495, -0.038226, -0.040956, 
	-0.043686, -0.046416, -0.049146, -0.051876, -0.054607, -0.057337, 
	-0.060067, -0.062797, -0.065527, -0.068258, -0.070988, -0.073718, 
	-0.076448, -0.079178, -0.081908, -0.084639, -0.087369, -0.090099, 
	-0.092829, -0.095559, -0.098289, -0.101020, -0.103750, -0.106480, 
	-0.109210, -0.111940, -0.114671, -0.117401, -0.120131, -0.122861, 
	-0.125591, -0.128321, -0.131052, -0.133782, -0.136512, -0.139242, 
	-0.141972, -0.144702, -0.147433, -0.150163, -0.152893, -0.155623, 
	-0.158353, -0.161084, -0.163814, -0.166544, -0.169274, -0.172004, 
	-0.174734, -0.177465, -0.180195, -0.182925, -0.185655, -0.188385, 
	-0.191115, -0.193846, -0.196576, -0.199306, -0.202036, -0.204766, 
	-0.207497, -0.210227, -0.212957, -0.215687, -0.218417, -0.221147, 
	-0.223878, -0.226608, -0.229338, -0.232068, -0.234798, -0.237528, 
	-0.240259, -0.242989, -0.245719, -0.248449, -0.251179, -0.253909, 
	-0.256640, -0.259370, -0.262100, -0.264830, -0.267560, -0.270291, 
	-0.273021, -0.275751, -0.278481, -0.281211, -0.283941, -0.286672, 
	-0.289402, -0.292132, -0.294862, -0.297592, -0.300322, -0.303053, 
	-0.305783, -0.308513, -0.311243, -0.313973, -0.316703, -0.319434, 
	-0.322164, -0.324894, -0.327624, -0.330354, -0.333084, -0.335815, 
	-0.338545, -0.341275, -0.344005, -0.346735, -0.349465, -0.352196, 
	-0.354926, -0.357656, -0.360386, -0.363116, -0.365846, -0.368577, 
	-0.371307, -0.374037, -0.376767, -0.379497, -0.382227, -0.384958, 
	-0.387688, -0.390418, -0.393148, -0.395878, -0.398608, -0.401339, 
	-0.404069, -0.406799, -0.409529, -0.412259, -0.414989, -0.417720, 
	-0.420450, -0.423180, -0.425910, -0.428640, -0.431370, -0.434101, 
	-0.436831, -0.439561, -0.442291, -0.445021, -0.447751, -0.450482, 
	-0.453212, -0.455942, -0.458672, -0.461402, -0.464132, -0.466862, 
	-0.469593, -0.472323, -0.475053, -0.477783, -0.480513, -0.483244, 
	-0.485974, -0.488704, -0.491434, -0.494164, -0.496894, -0.499625, 
	-0.502355, -0.505085, -0.507815, -0.510545, -0.513275, -0.516006, 
	-0.518736, -0.521466, -0.524196, -0.526926, -0.529657, -0.532387, 
	-0.535117, -0.537847, -0.540577, -0.543307, -0.546038, -0.548768, 
	-0.551498, -0.554228, -0.556958, -0.559689, -0.562419, -0.565149, 
	-0.567879, -0.570609, -0.573339, -0.576070, -0.578800, -0.581530, 
	-0.584260, -0.586990, -0.589721, -0.592451, -0.595181, -0.597911, 
	-0.600641, -0.603372, -0.606102, -0.608832, -0.611562, -0.614292, 
	-0.617023, -0.619753, -0.622483, -0.625213, -0.627943, -0.630674, 
	-0.633404, -0.636134, -0.638864, -0.641594, -0.644325, -0.647055, 
	-0.649785, -0.652515, -0.655245, -0.657976, -0.660706, -0.663436, 
	-0.666166, -0.668896, -0.671626, -0.674357, -0.677087, -0.679817, 
	-0.682547, -0.685277, -0.688008, -0.690738, -0.693468, -0.696198, 
	-0.698928, -0.701659, -0.704389, -0.707119, -0.709849, -0.712579, 
	-0.715310, -0.718040, -0.720770, -0.723500, -0.726230, -0.728961, 
	-0.731691, -0.734421, -0.737151, -0.739881, -0.742612, -0.745342, 
	-0.748072, -0.750802, -0.753532, -0.756262, -0.758993, -0.761723, 
	-0.764453, -0.767183, -0.769913, -0.772644, -0.775374, -0.778104, 
	-0.780834, -0.783564, -0.786295, -0.789025, -0.791755, -0.794485, 
	-0.797216, -0.799946, -0.802676, -0.805406, -0.808136, -0.810866, 
	-0.813597, -0.816327, -0.819057, -0.821787, -0.824517, -0.827248, 
	-0.829978, -0.832708, -0.835438, -0.838169, -0.840899, -0.843629, 
	-0.846359, -0.849089, -0.851819, -0.854550, -0.857280, -0.860010, 
	-0.862740, -0.865470, -0.868201, -0.870931, -0.873661, -0.876391, 
	-0.879121, -0.881852, -0.884582, -0.887312, -0.890042, -0.892772, 
	-0.895503, -0.898233, -0.900963, -0.903693, -0.906423, -0.909153, 
	-0.911884, -0.914614, -0.917344, -0.920074, -0.922804, -0.925535, 
	-0.928265, -0.930995, -0.933725, -0.936455, -0.939186, -0.941916, 
	-0.944646, -0.947376, -0.950106, -0.952837, -0.955567, -0.958297, 
	-0.961027, -0.963589, -0.965984, -0.968210, -0.970268, -0.972158, 
	-0.973880, -0.975434, -0.976820, -0.978038, -0.979089, -0.979971, 
	-0.980685, -0.981231, -0.981609, -0.981819, -0.981861, -0.981735, 
	-0.981441, -0.980979, -0.980349, -0.979551, -0.978585, -0.977451, 
	-0.976149, -0.974679, -0.973040, -0.971234, -0.969260, -0.967118, 
	-0.964808, -0.962330, -0.959684, -0.956869, -0.953887, -0.950737, 
	-0.947419, -0.943933, -0.940278, -0.936456, -0.932466, -0.928308, 
	-0.923981, -0.919487, -0.914825, -0.909995, -0.904996, -0.899830, 
	-0.894496, -0.888993, -0.883323, -0.877485, -0.871478, -0.865304, 
	-0.858961, -0.852451, -0.845773, -0.838926, -0.831912, -0.824729, 
	-0.817379, -0.809860, -0.802174, -0.794319, -0.786297, -0.778106, 
	-0.769916, -0.761725, -0.753535, -0.745344, -0.737154, -0.728963, 
	-0.720773, -0.712582, -0.704391, -0.696201, -0.688010, -0.679820, 
	-0.671629, -0.663439, -0.655248, -0.647058, -0.638867, -0.630677, 
	-0.622486, -0.614296, -0.606105, -0.597915, -0.589724, -0.581534, 
	-0.573343, -0.565153, -0.556962, -0.548771, -0.540581, -0.532390, 
	-0.524200, -0.516009, -0.507819, -0.499628, -0.491438, -0.483247, 
	-0.475057, -0.466866, -0.458676, -0.450485, -0.442295, -0.434104, 
	-0.425914, -0.417723, -0.409533, -0.401342, -0.393152, -0.384961, 
	-0.376770, -0.368580, -0.360389, -0.352199, -0.344008, -0.335818, 
	-0.327627, -0.319437, -0.311246, -0.303056, -0.294865, -0.286675, 
	-0.278484, -0.270294, -0.262103, -0.253912, -0.245722, -0.237531, 
	-0.229341, -0.221150, -0.212959, -0.204769, -0.196578, -0.188387, 
	-0.180197, -0.172006, -0.163816, -0.155625, -0.147434, -0.139244, 
	-0.131053, -0.122862, -0.114672, -0.106481, -0.098291, -0.090100, 
	-0.081909, -0.073719, -0.065528, -0.057337, -0.049147, -0.040956, 
	-0.032766, -0.024575, -0.016384, -0.008194, 0.000000
};
